package com.ganmiao.server.sys.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ganmiao.entity.BaseColumns;
import com.ganmiao.server.sys.validated.Add;
import com.ganmiao.server.sys.validated.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 部门信息
 *
 * @TableName sys_department
 */
@Data
@ApiModel("部门信息")
public class SysDepartmentVo extends BaseColumns implements Serializable {

    /**
     * 部门主键ID
     */
    @ApiModelProperty("部门主键ID")
    private Integer departmentId;

    /**
     * 部门名称
     */
    @ApiModelProperty("部门名称")
    private String departmentName;

    /**
     * 上级部门ID (默认为0)
     */
    @ApiModelProperty("上级部门ID (默认为0)")
    private Integer parentId;

    /**
     * 部门负责人
     */
    @ApiModelProperty("部门负责人")
    private String departmentHead;

    /**
     * 系统编码 (supplier:供应商 purchase:采购 portal:门户 mall:商城)
     */
    @ApiModelProperty("系统编码 (supplier:供应商 purchase:采购 portal:门户 mall:商城)")
    private String sysCode;

    /**
     * 供应商ID
     */
    @ApiModelProperty("供应商ID")
    private Integer supplierId;

    /**
     * 商超ID
     */
    @ApiModelProperty("商超ID")
    private Integer shopId;

    /**
     * 帐号状态 (1:正常 9:删除/失效)
     */
    @ApiModelProperty("帐号状态 (1:正常 9:删除/失效)")
    private String status;

    /**
     * 子部门集合
     */
    @ApiModelProperty("子部门集合")
    private List<SysDepartmentVo> children;

}